package net.pws.common.persistence;

/**
 * PersistenceInstruction������
 */
public interface PersistenceInstructionVisitor {
    
    /**
     * @param instruction
     */
    public void visit(FlushInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(ClearInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(CreateEntityInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(UpdateEntityInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(UnusedEntityInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(DeleteEntityInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(DeleteEntityByIdInstruction instruction);
    
    /**
     * @param instruction
     */
    public void visit(OptimisticConcurrencyInstruction instruction);
}
